#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#define USER "USER"

#define MY_ENV "my_env"
#define MYPWD "PWD"

int main(int argc,char* argv[],char* env[])
{
    //因为env没有像argc这样有个数限制所以在写循环的时候用env[i]来作为结束标志
    //因为env[i]在env这个数组最后一个位置处为NULL 也就是0
    for(int i=1;env[i];i++)
    {
        printf("env[%d]:%s\n",i,env[i]);
    }
   //不想写参数就想获取环境变量可以通过getenv来获取
   //还可以通过environ这个全局的二级指针来获取环境变量实际environ指向的还是一个字符指针数组
   //注意使用environ需要包含头文件用法和上面这个差不多
   
    //extern char** environ;
    //for(int i=1;environ[i];i++)
    //{
    //    printf("environ[%d]:%s\n",i,environ[i]);
    //}


    if(argc != 2)
    {
        printf("Usage: \n\t%s [-a/-b/-c/-ab/-bc/-ac/-abc]",argv[0]);
        return 1;
    }
    if(strcmp("-a",argv[1])==0)
    {
        printf("功能a\n");
    }
    if(strcmp("-b",argv[1])==0)
    {
        printf("功能b\n");
    }
    if(strcmp("-c",argv[1])==0)
    {
        printf("功能c\n");
    }
    if(strcmp("-ab",argv[1])==0)
    {
        printf("功能ab\n");
    }
    if(strcmp("-ac",argv[1])==0)
    {
        printf("功能ac\n");
    }
    if(strcmp("-bc",argv[1])==0)
    {
        printf("功能bc\n");
    }
    if(strcmp("-abc",argv[1])==0)
    {
        printf("功能abc\n");
    }




    //打印
    //for(int i=0;i<argc;i++)
    //{
    //    printf("argv[%d]->%s\n",i,argv[i]);
    //}


    //获取PWD
    //printf("%s\n",getenv(MYPWD));


    // 获取环境变量
   // char* myenv = getenv(MY_ENV);
   // if(myenv == NULL)
   // {
   //     printf("%s, no found\n",MY_ENV);
   //     return 1;
   // }
   // printf("%s = %s\n",myenv,MY_ENV);
    



    //获取当前用户
   // char* who = getenv(USER);
   // if(strcmp(who,"root")==0)
   // {
   // printf("user: %s\n",who);
   // }
   // else
   // {
   //     printf("权限不足\n");
   // }
    
    return 0;
}
